'''
Created on 15/10/2011

@author: Daniel
'''
from Tkinter import *
import tkMessageBox
from VariaveisGlobais import *
from LivroParadidatico import *
from Programa import *
import datetime

class Janela_cadastro_livro_paradidatico:
    def __init__(self, raiz):
        
        self.hoje = datetime.date.today()
        self.hoje2 = self.hoje.strftime('%d/%m/%Y')
        
        self.meuPai = raiz

        self.frame1=Frame(self.meuPai)
        self.frame1.grid(row = 1, column = 1)
        self.frame2=Frame(self.meuPai)
        self.frame2.grid(row = 2, column = 1)
        self.frame3=Frame(self.meuPai)
        self.frame3.grid(row = 3, column = 1)

        Label(self.frame1, text="Formulario", font = fonte_label).grid(row = 1, column = 1)
        Label(self.frame1, text="").grid(row = 2, column = 1)
        
        Label(self.frame2, text="Titulo: ", font = fonte_label).grid(row = 1, column = 1, sticky = W)              
        self.titulo = Entry(self.frame2, width = comprimento_texto_nome, font = fonte_texto)
        self.titulo.grid(row = 1, column = 2, sticky = W)
        self.titulo.focus_force()

        Label(self.frame2, text="Sub Titulo: ", font = fonte_label).grid(row = 2, column = 1, sticky = W)
        self.sub_titulo = Entry(self.frame2, width = comprimento_texto_nome, font = fonte_texto)
        self.sub_titulo.grid(row = 2, column = 2, sticky = W)

        Label(self.frame2, text="Autor: ", font = fonte_label).grid(row = 3, column = 1, sticky = W)
        self.autor = Entry(self.frame2, width = comprimento_texto_nome, font = fonte_texto)
        self.autor.grid(row = 3, column = 2, sticky = W)

        Label(self.frame2, text="Editora: ", font = fonte_label).grid(row = 4, column = 1, stick = W)
        self.editora = Entry(self.frame2, width = comprimento_texto_email, font = fonte_texto)
        self.editora.grid(row = 4, column = 2, stick = W)
        
        Label(self.frame2, text="Codigo do Livro: ", font = fonte_label).grid(row = 5, column = 1, sticky = W)
        self.cod_livro = Entry(self.frame2, width = comprimento_texto_tel, font = fonte_texto)
        self.cod_livro.grid(row = 5, column = 2, stick = W)
        
        Label(self.frame2, text="Conservacao: ", font = fonte_label).grid(row = 6, column = 1, sticky = W)
        self.var_conservacao = StringVar(self.frame2)
        self.var_conservacao.set('Novo')
        self.conservacao = OptionMenu(self.frame2, self.var_conservacao, 'Novo', 'Usado')
        self.conservacao.config(width = 5)
        self.conservacao.grid(row = 6, column = 2, sticky = W)

        Label(self.frame2, text="Data do cadastro: ", font = fonte_label).grid(row = 9, column = 1, sticky = W)
        Label(self.frame2, text=self.hoje2, font = fonte_label).grid(row = 9, column = 2, sticky = W)

        Label(self.frame3, text="").grid(row = 1, column = 1)
        self.botao_cadastrar = Button(self.frame3, width = 10, command = self.Cadastrar, text = "Cadastrar").grid(row = 2, column = 1, padx= 10)
        self.botao_cancelar = Button(self.frame3, width = 10, command = self.Cancelar, text = "Cancelar").grid(row = 2, column = 2, padx = 10)
        
        self.cancela = False

    def Cadastrar(self):
        self.hoje = self.hoje.strftime('%Y-%m-%d')
        #verifica se todos os campos foram preenchidos
        if not self.titulo.get() or not self.sub_titulo.get() or not self.autor.get() or not self.editora.get() or not self.cod_livro.get() or not self.var_conservacao.get():
            tkMessageBox.showwarning('Mensagem do sistema', 'O preenchimento de todos os campos e obrigatorio.')
        else:
            self.livro_paradidatico = Livro_paradidatico()
            self.livro_paradidatico.set_titulo(self.titulo.get())
            self.livro_paradidatico.set_sub_titulo(self.sub_titulo.get())
            self.livro_paradidatico.set_autor(self.autor.get())
            self.livro_paradidatico.set_editora(self.editora.get())
            self.livro_paradidatico.set_codigo(self.cod_livro.get())
            self.livro_paradidatico.set_tipo(2)
            self.livro_paradidatico.set_conservacao(self.var_conservacao.get())
            self.livro_paradidatico.set_data_cadastro(self.hoje)
            self.livro_paradidatico.set_emprestado(0)
            self.livro_paradidatico.set_deletado(0)
            
            self.programa = Programa()
            self.programa.cadastrar_livro_paradidatico(self.livro_paradidatico)
    
    def Cancelar(self):
        try:
            self.meuPai.destroy()
            self.container = Frame(self.meuPai)
        except:
            pass
